package com.globalwave.rule.engine.operator;

public interface OperatorInf {

    
    // -- 常量-----    
    /**
     * 加
     */
    public final static short OPERATOR_CD_ADD = 0;//"+" ;  

    /**
     * 减
     */
    public final static short OPERATOR_CD_MINUS = 1;//"-" ;
    
    /**
     * 乘
     */
    public final static short OPERATOR_CD_MUL = 2;//"*" ;
    
    /**
     * 除
     */
    public final static short OPERATOR_CD_DIV = 3;//"/" ;
    
    /**
     * 等于
     */
    public final static short OPERATOR_CD_EQ = 4;//"=" ;
    
    /**
     * 不等于
     */
    public final static short OPERATOR_CD_NE = 5;//"<>" ;
    
    /**
     * 小于
     */
    public final static short OPERATOR_CD_LT = 6;//"<" ;
    
    /**
     * 小于或等于
     */
    public final static short OPERATOR_CD_LE = 7;//"<=" ;
    
    /**
     * 大于
     */
    public final static short OPERATOR_CD_GT = 8;//">" ;
    
    /**
     * 大于或等于
     */
    public final static short OPERATOR_CD_GE = 9;//">=" ;
    
    /**
     *  并且
     */
    public final static short OPERATOR_CD_AND = 10;//"&&" ;
    
    /**
     * 或者
     */
    public final static short OPERATOR_CD_OR = 11;//"||" ;
    
    /**
     * 固定值
     */
    //public final static short FACTOR_CD_FIX = 12;//"FIX" ;
    
    /**
     * 代码因子
     */
    public final static String FACTOR_TYPE_CODE = "C" ;
    
    /**
     * 数值因子
     */
    public final static String FACTOR_TYPE_NUM = "N" ;
    
    
	public boolean calculate(Object value1, Object value2) ;

	public void setType(int type) ;
}
